#ifndef TERRAINFEATURE_H
#define TERRAINFEATURE_H

#include <vector>

class TerrainFeature{
    public:
        TerrainFeature(){
            food = 0;
            coin = 0;
            production = 0;
            movementCost = 0;
            name = "NoFeature";
            heightmap.resize(25, 0);
        }
        TerrainFeature(std::string n, float f, int c, int p, float mc){
            name = n;
            food = f;
            coin = c;
            production = p;
            movementCost = mc;
            heightmap.resize(25, 0);
        }

        void SetHeightmap(std::vector<float> hm){ heightmap = hm; }
        std::vector<float> GetHeightmap(){ return heightmap; }
        float GetHeightmapValue(int index){ return heightmap.at(index); }

        std::string GetName(){ return name; }
        int GetFood(){ return food; }
        int GetCoin(){ return coin; }
        int GetProduction(){ return production; }
        float GetMovementCost(){ return movementCost; }
    protected:
        std::string name;
        float food;
        int coin;
        int production;
        float movementCost;
        std::vector<float> heightmap;
};

#endif
